{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f70291a0-1832-4372-a938-64ee8b2a187b",
   "metadata": {},
   "source": [
    "# 算法工程师如何优雅地使用Ollama?"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c14fe389-d283-4848-a3a9-78699a05e986",
   "metadata": {},
   "source": [
    "torchkeras封装了ollama的快捷魔法命令。\n",
    "\n",
    "可以在jupyter notebook中非常便捷地和Ollama进行对话。\n",
    "\n",
    "并且可以设置对话的轮数。\n",
    "\n",
    "视频演示： https://www.bilibili.com/video/BV1Gs4y197hJ/\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "033d5a78-9c13-4a2a-b4e6-774ef25d86a7",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "register magic %%chat sucessed ...\n"
     ]
    }
   ],
   "source": [
    "from torchkeras.chat import Ollama\n",
    "chat = Ollama(model='qwen2',max_chat_rounds=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e2e27a38-b490-4de6-beeb-397ec08af99b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'中国于2001年11月11日加入世界贸易组织（WTO）。'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chat('中国什么时候加入WTO的呢？') "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "bf4f10df-8af0-49ee-b578-8469b650078e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "印度在1995年1月1日起正式成为世界贸易组织（WTO）的成员国。\n"
     ]
    }
   ],
   "source": [
    "%%chat\n",
    "印度呢？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "cd06be3c-8a3b-44b2-9013-b8dd60a947ee",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "俄罗斯于2012年开始谈判加入世贸组织，过程历时长达十八年之久，最终于2017年完成入世审批程序，并在同年11月18日正式加入世界贸易组织。\n"
     ]
    }
   ],
   "source": [
    "%%chat\n",
    "俄罗斯呢？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a752e773-10b1-4b53-af62-992a82ade47c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "韩国自成立以来一直是WTO的成员国之一。韩国于1986年3月通过申请成为关贸总协定（GATT）成员，随后在1995年关贸总协定转化为世贸组织时自动成为其一员，并在同年4月正式加入WTO。\n"
     ]
    }
   ],
   "source": [
    "%%chat\n",
    "韩国呢？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "2ceca958-2618-4dde-8cc9-05fc78819072",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "朝鲜目前并非世界贸易组织（WTO）的成员国。尽管朝鲜于1986年申请加入WTO，但自1995年WTO成立后一直未获批准。因此，朝鲜至今尚未成为WTO成员国。\n"
     ]
    }
   ],
   "source": [
    "%%chat\n",
    "朝鲜呢？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "159432e8-eb21-4ea0-a810-87e0badb28af",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "古巴目前并非世界贸易组织（WTO）的成员国。\n",
      "\n",
      "古巴于1986年申请加入关贸总协定（GATT），在1995年关贸总协定转化为世贸组织后，古巴继续寻求成为WTO的成员。然而由于各种原因包括政治和经济因素，古巴至今未能成功加入WTO，并且并非其成员国之一。\n"
     ]
    }
   ],
   "source": [
    "%%chat\n",
    "古巴呢？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "03d41ab2-566d-4e8a-9f21-a490198de0ea",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('中国什么时候加入WTO的呢？', '中国于2001年11月11日加入世界贸易组织（WTO）。'),\n",
       " ('印度呢？\\n', '印度在1995年1月1日起正式成为世界贸易组织（WTO）的成员国。'),\n",
       " ('俄罗斯呢？\\n',\n",
       "  '俄罗斯于2012年开始谈判加入世贸组织，过程历时长达十八年之久，最终于2017年完成入世审批程序，并在同年11月18日正式加入世界贸易组织。'),\n",
       " ('韩国呢？\\n',\n",
       "  '韩国自成立以来一直是WTO的成员国之一。韩国于1986年3月通过申请成为关贸总协定（GATT）成员，随后在1995年关贸总协定转化为世贸组织时自动成为其一员，并在同年4月正式加入WTO。'),\n",
       " ('朝鲜呢？\\n',\n",
       "  '朝鲜目前并非世界贸易组织（WTO）的成员国。尽管朝鲜于1986年申请加入WTO，但自1995年WTO成立后一直未获批准。因此，朝鲜至今尚未成为WTO成员国。'),\n",
       " ('古巴呢？\\n',\n",
       "  '古巴目前并非世界贸易组织（WTO）的成员国。\\n\\n古巴于1986年申请加入关贸总协定（GATT），在1995年关贸总协定转化为世贸组织后，古巴继续寻求成为WTO的成员。然而由于各种原因包括政治和经济因素，古巴至今未能成功加入WTO，并且并非其成员国之一。')]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chat.history "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
